from tornado.web import RequestHandler


class OrderHandler(RequestHandler):
    goods = [
        {
            'id': 1,
            'name': 'python高级开发',
            'author': 'disen',
            'price': 190
        },
        {
            'id': 2,
            'name': 'python2 vs python2',
            'author': 'disen',
            'price': 290
        }

    ]
    action_map = {
        1: '取消订单',
        2: '再次购买',
        3: '评价'
    }

    def initialize(self):
        print('initialize')

        # 所有请求方法在调用之前,都会进行初始化操作

    def prepare(self):
        # 在初始化之后,调用行为方法之前,调用此方法进行预处理,用于验证参数,权限,读取缓存等等工作(建议选择它)
        print('prepare')

    def query(self, order_id):
        for item in self.goods:
            if item.get('id') == order_id:
                return item

    def get(self, order_id, action_code):
        html = '''
            <p>
                商品编号:%s
            </p>
            <p>
                商品名称:%s
            </p>
            <p>
                商品价格:%s
            </p>

        '''
        goods = self.query(int(order_id))
        self.write('订单查询')
        self.write(html % (goods.get('id'), goods.get('name'), goods.get('price')))
        self.write(self.action_map.get(int(action_code)))

    def post(self, action_code, order_id):
        print('---post---')
        self.write('__------post-----__')

    def on_finish(self):
        # 切入点3,请求处理完之后,释放资源的方法.
        print('on_finish')